package com.esunny.resourcevisualization.manage;

import com.esunny.resourcevisualization.dao.UserEntityDao;
import com.esunny.resourcevisualization.domain.entity.UserEntity;
import com.esunny.resourcevisualization.domain.response.ReturnStructure;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.List;

/**
 * @version 1.0.0.0
 * @ClassName UserEntityManage
 * @Description 用户-实体数据处理类
 * @Author baochencong
 * @Date 2020/11/5 9:13
 */
@Component
public class UserEntityManage {

    @Resource
    private UserEntityDao userEntityDao;

    /**
     * 添加用户-实体对应关系
     *
     * @param userEntity 用户-实体对应关系
     * @return 添加结果
     */
    public ReturnStructure addUserEntity(UserEntity userEntity) {
        return userEntityDao.addUserEntity(userEntity) > 0 ? ReturnStructure.SUCCESS("添加用户-实体对应关系成功", null) : ReturnStructure.ERROR("添加用户-实体对应关系失败", null);
    }

    /**
     * 通过实体id删除用户-实体对应关系
     *
     * @param entityId 实体id
     * @return 删除结果
     */
    public ReturnStructure deleteUserEntityByEntityId(int entityId) {
        return userEntityDao.deleteUserEntityByEntityId(entityId) > 0 ? ReturnStructure.SUCCESS("删除用户-实体对应关系成功", null) : ReturnStructure.ERROR("删除用户-实体对应关系失败", null);
    }

    /**
     * 通过实体id修改用户-实体对应关系
     *
     * @param userEntity 用户-实体对应关系
     * @return 修改结果
     */
    public ReturnStructure updateUserEntityByEntityId(UserEntity userEntity) {
        return userEntityDao.updateUserEntityByEntityId(userEntity) > 0 ? ReturnStructure.SUCCESS("修改用户-实体对应关系成功", null) : ReturnStructure.ERROR("修改用户-实体对应关系失败", null);
    }

    /**
     * 通过用户组名获取用户-实体对应关系列表
     *
     * @param userGroupName 用户组名
     * @return 用户-实体对应关系列表
     */
    public List<UserEntity> getUserEntityListByUserGroupName(String userGroupName) {
        return userEntityDao.getUserEntityListByUserGroupName(userGroupName);
    }

    /**
     * 通过用户名获取用户-实体对应关系列表
     *
     * @param username 用户名
     * @return 用户-实体对应关系列表
     */
    public List<UserEntity> getUserEntityListByUsername(String username) {
        return userEntityDao.getUserEntityListByUsername(username);
    }

    /**
     * 通过实体id获取用户-实体对应关系
     *
     * @param entityId 实体id
     * @return 用户-实体对应关系
     */
    public UserEntity getUserEntityByEntityId(int entityId) {
        return userEntityDao.getUserEntityByEntityId(entityId);
    }

}
